'''
                  江城子 . 程序员之歌

              十年生死两茫茫，写程序，到天亮。
                  千行代码，Bug何处藏。
              纵使上线又怎样，朝令改，夕断肠。

              领导每天新想法，天天改，日日忙。
                  相顾无言，惟有泪千行。
              每晚灯火阑珊处，夜难寐，加班狂。

'''

'''
Author:吴泳良
Date: 2021-08-07 09:39:36
LastEditTime: 2021-08-07 17:00:22
Description: python基础练习
'''
# -*- coding: utf-8 -*-
# 转义符\
print("I'm using \\ to solve the problem of \"\n and you can use \\ to get more space by using \\t\t!!!")
# 布尔
print(True and False)
# 空值 None!=0
# 等同于b指向a指向的变量
a = 'ABC'
b = a
a = 'XYZ'
print(b)
# 大写表示常量
PI = 3.14159265359
print(PI)
# /除法 //整除
print(10/3)
print(10//3)
print('--------------------------------------')

# Python对bytes类型的数据用带b前缀的单引号或双引号表示,存在磁盘上，一个为bytes
x = b'ABC'
# 从网络上或硬盘中读取字节流需要解码，忽略错误字节
b'ABC'.decode('utf-8', errors='ignore')
# len()计算str字符数
print(len(x))
# 格式化输出，遇事不决，用%s
print('Hi, %s, you have $%d.' % ('Michael', 1000000))
print('--------------------------------------')

# 列表
classmates = ['wyl', 'gy', 'czc']
# 打印列表元素个数
print(len(classmates))
# 打印最后一个元素
print(classmates[-1])
# 队尾插入一个元素
classmates.append('cdw')
print(classmates)
# 元素插入到指定位置
classmates.insert(1, 'chz')
print(classmates)
# 删除队尾元素
classmates.pop()
print(classmates)
# 删除指定位置元素
classmates.pop(1)
print(classmates)
# 修改指定位置元素
classmates[2] = 'xh'
print(classmates)
# list元素可以是另一个list，类似多维数组
s = ['python', 'java', ['asp', 'php'], 'scheme']
print(s[2])
print('--------------------------------------')

# 元组的使用，一旦初始化就无法修改
t = ('a', 'b', ['A', 'B'])
print(t)
# 可以修改元组内部的list
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)
print('--------------------------------------')

# 条件判断，input为str需要强行转换为int才能进行判断
age = 10
#age = input()
age = int(age)
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')
print('--------------------------------------')

# 循环
for classmate in classmates:
    print(classmate)
# for求和0-100
sum = 0
for x in range(101):
    sum = sum + x
print(sum)
# while求和0-100
sum = 0
x = 0
while x < 101:
    sum = sum+x
    x = x+1
print(sum)
print('--------------------------------------')

# 字典用法
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])
d['Bob'] = 0
d['Good'] = 1
print(d)
# 检查字典中是否存在，避免访问不存在元素的两种方法
if 'Tracy' in d:
    print(d['Tracy'])
print(d.get('Apple', 10000))
# 删除字典中的内容
d.pop('Bob')
print(d)
print('--------------------------------------')

# set集合的用法，set需要list作为输入集合，不存在重复元素
s = set([1, 2, 3, 3])
print(s)
# 增加元素用add
s.add(4)
print(s)
# 删除用remove
s.remove(2)
